package class1;

import java.util.Arrays;
import java.util.Locale;
import java.util.Scanner;

public class CamelToSnake {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入");
        String camel = sc.next();

        System.out.println(camelToSnake(camel));
    }

    public static String camelToSnake(String camel) {

        String[] camel1 = camel.split("");
        System.out.println(Arrays.toString(camel1));
        String camel2 = "";

        for (int i = 0; i < camel.length(); i++) {
            char camelChar = camel.charAt(i);
            if (camelChar >= 'A' && camelChar <= 'Z') {
                camel2 += "_" + camelChar;
            } else {
                camel2 += camelChar;
            }
        }
        return camel2.toLowerCase();
    }

    /**
     * 将驼峰式命名的字符串转换为下划线大写方式。如果转换前的驼峰式命名的字符串为空，则返回空字符串。
     * 例如：HelloWorld->HELLO_WORLD
     * @param name 转换前的驼峰式命名的字符串
     * @return 转换后下划线大写方式命名的字符串
     */
//    public static String underscoreName(String name) {
//        StringBuilder result = new StringBuilder();
//        if (name != null && name.length() > 0) {
//            // 将第一个字符处理成大写
//            result.append(name.substring(0, 1).toUpperCase());
//            // 循环处理其余字符
//            for (int i = 1; i < name.length(); i++) {
//                String s = name.substring(i, i + 1);
//                // 在大写字母前添加下划线
//                if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) {
//                    result.append("_");
//                }
//                // 其他字符直接转成大写
//                result.append(s.toUpperCase());
//            }
//        }
//        return result.toString();
//    }
}
